#include "UDPSever.hpp"
#include "Dict.hpp"


/* 调用方式 ./udpsever port*/
int main(int argc, char *argv[])
{
    if(argc != 2)
    {
        LOG(LogLevel::ERROR) << "./udpsever port";
        return -1;
    }

    uint16_t severport = std::stoi(argv[1]);
    Enable_Console_Log_Strategy() /* 日志显示器打印策略 */

    /* 字典对象，翻译系统 */
    Dict dict;        
    dict.LoadDict(); /* 从文件中加载单词映射关系 */

    std::unique_ptr<UDPSever> usvr = std::make_unique<UDPSever>(severport, [&dict](const std::string &word, InterAddr &addr)->std::string{
        return dict.Translate(word, addr);
    });

    usvr->Init();
    usvr->Start();

    return 0;
}